{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "![](https://raw.githubusercontent.com/Qinbf/tf-model-zoo/master/README_IMG/01.jpg)\n",
    "AI MOOC： **www.ai-xlab.com**  \n",
    "如果你也是AI爱好者，可以添加我的微信一起交流：**sdxxqbf**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from numpy import genfromtxt\n",
    "import matplotlib.pyplot as plt  \n",
    "from mpl_toolkits.mplot3d import Axes3D  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[100.    4.    9.3]\n",
      " [ 50.    3.    4.8]\n",
      " [100.    4.    8.9]\n",
      " [100.    2.    6.5]\n",
      " [ 50.    2.    4.2]\n",
      " [ 80.    2.    6.2]\n",
      " [ 75.    3.    7.4]\n",
      " [ 65.    4.    6. ]\n",
      " [ 90.    3.    7.6]\n",
      " [ 90.    2.    6.1]]\n"
     ]
    }
   ],
   "source": [
    "# 读入数据 \n",
    "data = genfromtxt(r\"Delivery.csv\",delimiter=',')\n",
    "print(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[100.   4.]\n",
      " [ 50.   3.]\n",
      " [100.   4.]\n",
      " [100.   2.]\n",
      " [ 50.   2.]\n",
      " [ 80.   2.]\n",
      " [ 75.   3.]\n",
      " [ 65.   4.]\n",
      " [ 90.   3.]\n",
      " [ 90.   2.]]\n",
      "[9.3 4.8 8.9 6.5 4.2 6.2 7.4 6.  7.6 6.1]\n"
     ]
    }
   ],
   "source": [
    "# 切分数据\n",
    "x_data = data[:,:-1]\n",
    "y_data = data[:,-1]\n",
    "print(x_data)\n",
    "print(y_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# 学习率learning rate\n",
    "lr = 0.0001\n",
    "# 参数\n",
    "theta0 = 0\n",
    "theta1 = 0\n",
    "theta2 = 0\n",
    "# 最大迭代次数\n",
    "epochs = 1000\n",
    "\n",
    "# 最小二乘法\n",
    "def compute_error(theta0, theta1, theta2, x_data, y_data):\n",
    "    totalError = 0\n",
    "    for i in range(0, len(x_data)):\n",
    "        totalError += (y_data[i] - (theta1 * x_data[i,0] + theta2*x_data[i,1] + theta0)) ** 2\n",
    "    return totalError / float(len(x_data))\n",
    "\n",
    "def gradient_descent_runner(x_data, y_data, theta0, theta1, theta2, lr, epochs):\n",
    "    # 计算总数据量\n",
    "    m = float(len(x_data))\n",
    "    # 循环epochs次\n",
    "    for i in range(epochs):\n",
    "        theta0_grad = 0\n",
    "        theta1_grad = 0\n",
    "        theta2_grad = 0\n",
    "        # 计算梯度的总和再求平均\n",
    "        for j in range(0, len(x_data)):\n",
    "            theta0_grad += (1/m) * ((theta1 * x_data[j,0] + theta2*x_data[j,1] + theta0) - y_data[j])\n",
    "            theta1_grad += (1/m) * x_data[j,0] * ((theta1 * x_data[j,0] + theta2*x_data[j,1] + theta0) - y_data[j])\n",
    "            theta2_grad += (1/m) * x_data[j,1] * ((theta1 * x_data[j,0] + theta2*x_data[j,1] + theta0) - y_data[j])\n",
    "        # 更新b和k\n",
    "        theta0 = theta0 - (lr*theta0_grad)\n",
    "        theta1 = theta1 - (lr*theta1_grad)\n",
    "        theta2 = theta2 - (lr*theta2_grad)\n",
    "    return theta0, theta1, theta2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Starting theta0 = 0, theta1 = 0, theta2 = 0, error = 47.279999999999994\n",
      "Running...\n",
      "After 1000 iterations theta0 = 0.006971416196678632, theta1 = 0.08021042690771771, theta2 = 0.07611036240566814, error = 0.7731271432218118\n"
     ]
    }
   ],
   "source": [
    "print(\"Starting theta0 = {0}, theta1 = {1}, theta2 = {2}, error = {3}\".\n",
    "      format(theta0, theta1, theta2, compute_error(theta0, theta1, theta2, x_data, y_data)))\n",
    "print(\"Running...\")\n",
    "theta0, theta1, theta2 = gradient_descent_runner(x_data, y_data, theta0, theta1, theta2, lr, epochs)\n",
    "print(\"After {0} iterations theta0 = {1}, theta1 = {2}, theta2 = {3}, error = {4}\".\n",
    "      format(epochs, theta0, theta1, theta2, compute_error(theta0, theta1, theta2, x_data, y_data)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWQAAADuCAYAAAAOR30qAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzsvXmcI3Wd//+qqpzd6U7f5/TM9DXd\nPffJzOAPdT0QV90VFHWRXVQUV7+uoLBeeOB97E9cRFZd97e4X1HwXAVkxYVVcWFghmsGZoY+0mfS\nnT5y30kdvz96PkUlXZVUJZXudKjn4zGPgZ6kqjqpetW73p/3+/WmBEGAgYGBgcHGQ2/0ARgYGBgY\nrGIIsoGBgUGFYAiygYGBQYVgCLKBgYFBhWAIsoGBgUGFYAiygYGBQYVgCLKBgYFBhWAIsoGBgUGF\nYAiygYGBQYVg0vh6o63PwMDAQDuUmhcZEbKBgYFBhWAIsoGBgUGFYAiygYGBQYVgCLKBgYFBhWAI\nsoGBgUGFYAiygYGBQYVgCLKBgYFBhWAIsoGBgUGFYAiygYGBQYVgCLKBgYFBhWAIsoGBgUGFYAiy\ngYGBQYWg1VzIwCAvgiCA4zgAAMMwoChVnioGBgYwBNlAJ3ieB8dxYFkWqVRK/DlFUWAYRvxD0zRo\nmgZFUYZYGxjkYAiyQUnwPA+WZcWomKIoUXAFYdWtlQh17vsSiQQaGxthMpkMoTYwgCHIBkUgCAJ4\nnkc8HofJtHoKESElIkx+Jv1bSjqdxvT0NGpra5FOp7PeQ9M0GIYxhNrgJYchyAaqIUJM0hKnT5/G\nkSNHihJK8h6GYWT3wXFcllCT1+amPwyhNqgmDEE2KIhUiHmeF6NYQRCKFsPcaFr6c7ltSoU6d79S\ngc7NUxsYbCYMQTZQhFRMsCwriiD5wzCMrKCqRUmQ871eq1ATgZZbUDQwqEQMQTZYg5wQ03R2yTpF\nUeB5vuh9aBXkfNtREmpBEJDJZJBOp+H1elFTUwOn02kItUHFYgiygYggCIjFYhAEASaTSVaICfnE\nqxKELVeo0+k0bDab+PuwLItMJpP1HkOoDTYaQ5ANIAgCWJYFy7KYm5uD1WpFd3d3WfepV4RczH6l\nfxPIscgJNUnRSKs+jKYXg3JgCPJLGGkzBwBdcsNq2ShBVqKQUOemcARByBtRG2JtUAyGIL8EkWvm\n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\nPcukSZOIi4sjKyuLkSNHkpycXOd7odfrOXXqFIMGDSI3N5eJEyfy3HPP8cgjj/DWW28RExPDDz/8\noGyfmJhIeHh4s56DJuDWLOqlpqYqfqZGo5FJkyaxYMEC8vPzeeSRR0hPT6d79+784x//sIt14tSp\nUxk2bBjTpk1Dr9dTVlbGu+++61B02ADZy0Bt8J+RkUGPHj0spHdeXl4NyhcXFRWRmJhIx44d6dat\nm6LpleVi8hgqmfxacgxVTk4OKSkp1xjaqy1U1YZFBoNBKVCvX7+eyZMnM3v2bLveVC5fvsyUKVO4\ncuUKTk5OPPvss8yePdtiG3liSHp6ulKInT9/PkuXLlXMqXx8fHByciIkJISTJ0/i6+vLtm3bCA4O\nBuCdd95h8+bNuLi4sHr1au655x4Aq3rgb775hpUrV9K7d288PDyYMWMGCQkJbNiwgfXr19OjRw/6\n9evH+PHjeeONN+x2LpoRtyYhtySKi4vp168fqampFh8oh6Kj8TCbzaSkpCgEffz4ccrKyhSD/4ED\nB9KnTx+rBTm5HVun0xEREYGbm5vVfcj5aNk/2tqorIZOD6kPcupEkiTCw8NtkvbJcx2XLFnCmTNn\naNOmDX5+fjz22GNMnz7dbmvLzs4mOzubqKgoxXjn22+/rVX/+/3337Nq1Sp+/vlnwLqqqSEoKCiw\nCI7y8vKYM2cOq1evJjY2ljlz5vDGG2/w+OOP89xzz+Hm5sb777/PuXPnyMvL484772zUflsYt67K\noqWQmppKhw4dePLJJzl16hTR0dF8+OGHDkVHE+Dk5ERYWBhhYWE8/vjjwP8eXWNjY/nb3/6mkJPa\n4D8uLo7WrVtz++23Ex4eXieZWstHqx3l5Hy0PUZlqVvFQ0JCGlS7iI2NZe7cuUydOpVvvvlG6UTL\nz89v8DrqgjyuCKpkfD179iQzM7NWQt66davNI5PqwtWrV3nxxRcBuHLlClOmTGHixInodDry8vKU\n9uclS5YohbqFCxfy4IMPcuLECbvahv5e4IiQm4Djx48zZMgQYmJi+MMf/sDs2bPx9PRk7dq1FBUV\nKdv5+PhQWFh4HVd6c0EIgVar5dixY+zdu5evvvoKT09PAgMD6d+/P4MGDWLgwIH4+fk1OspVN4fI\naYSGjsqqqKjg/PnztGrVCo1GYzOh63Q63nrrLc6cOcOnn35q0c3W3EhLS+POO+/kzJkzVm0oy8rK\n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\nAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1d1785a6208>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = plt.figure().add_subplot(111, projection = '3d') \n",
    "ax.scatter(x_data[:,0], x_data[:,1], y_data, c = 'r', marker = 'o', s = 100) #点为红色三角形  \n",
    "x0 = x_data[:,0]\n",
    "x1 = x_data[:,1]\n",
    "# 生成网格矩阵\n",
    "x0, x1 = np.meshgrid(x0, x1)\n",
    "z = theta0 + x0*theta1 + x1*theta2\n",
    "# 画3D图\n",
    "ax.plot_surface(x0, x1, z)\n",
    "#设置坐标轴  \n",
    "ax.set_xlabel('Miles')  \n",
    "ax.set_ylabel('Num of Deliveries')  \n",
    "ax.set_zlabel('Time')  \n",
    "  \n",
    "#显示图像  \n",
    "plt.show()  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
